{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Day 2 PM: Preparing data for analysis with `tidyr`\n",
"\n",
"Visualization, modeling and inference in R is simplest when the data is collected into a single \"tidy\" `data.frame`. What constitutes a tidy `data.frame` depends somewhat on the context, but at a minimum it requires that each can be interpreted as an **observation**, each column as a **variable**, and each cell contains a **value**.\n",
"\n",
"The original data set may vary from this ideal tidy format in several ways, and the `tidyr` package provides tools for us to convert data from messy to tidy. In particular, we show several common issues that we need to address to make data tidy. Here, we focus on three main verbs for tidying data - `gather`, `spread` and `separate`. We also briefly discuss what to do when the data is originally distributed over several files."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Warning message:\n",
"“Installed Rcpp (0.12.12) different from Rcpp used to build dplyr (0.12.11).\n",
"Please reinstall dplyr to avoid random crashes or undefined behavior.”Warning message:\n",
"“package ‘dplyr’ was built under R version 3.4.1”"
]
}
],
"source": [
"suppressPackageStartupMessages(library(tidyverse))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Splitting columns with `separate`\n",
"\n",
"One common issue is that the values in a single column are actually a combination of many variables. For example, there may be a \"description\" field that combines site ID,, patient ID and date. Tidy data requires that each column represents a single variable, and we need to `separate` the variables."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Make up a data set for illustration"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\t'site1' \n",
"\t'site2' \n",
"\t'site3' \n",
"\t'site4' \n",
"\t'site5' \n",
"\t'site6' \n",
"\t'site7' \n",
"\t'site8' \n",
"\t'site9' \n",
"\t'site10' \n",
" \n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 'site1'\n",
"\\item 'site2'\n",
"\\item 'site3'\n",
"\\item 'site4'\n",
"\\item 'site5'\n",
"\\item 'site6'\n",
"\\item 'site7'\n",
"\\item 'site8'\n",
"\\item 'site9'\n",
"\\item 'site10'\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 'site1'\n",
"2. 'site2'\n",
"3. 'site3'\n",
"4. 'site4'\n",
"5. 'site5'\n",
"6. 'site6'\n",
"7. 'site7'\n",
"8. 'site8'\n",
"9. 'site9'\n",
"10. 'site10'\n",
"\n",
"\n"
],
"text/plain": [
" [1] \"site1\" \"site2\" \"site3\" \"site4\" \"site5\" \"site6\" \"site7\" \"site8\" \n",
" [9] \"site9\" \"site10\""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sites <- paste(\"site\", 1:10, sep=\"\")\n",
"sites"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t64 \n",
"\t7 \n",
"\t96 \n",
"\t28 \n",
"\t89 \n",
"\t69 \n",
"\t29 \n",
"\t65 \n",
"\t51 \n",
"\t18 \n",
" \n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 64\n",
"\\item 7\n",
"\\item 96\n",
"\\item 28\n",
"\\item 89\n",
"\\item 69\n",
"\\item 29\n",
"\\item 65\n",
"\\item 51\n",
"\\item 18\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 64\n",
"2. 7\n",
"3. 96\n",
"4. 28\n",
"5. 89\n",
"6. 69\n",
"7. 29\n",
"8. 65\n",
"9. 51\n",
"10. 18\n",
"\n",
"\n"
],
"text/plain": [
" [1] 64 7 96 28 89 69 29 65 51 18"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"subjects <- sample.int(100, 10)\n",
"subjects"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t2016-05-25 \n",
"\t2016-07-23 \n",
"\t2016-08-04 \n",
"\t2016-07-04 \n",
"\t2016-12-06 \n",
"\t2016-10-29 \n",
"\t2016-08-13 \n",
"\t2016-09-17 \n",
"\t2016-11-16 \n",
"\t2016-04-23 \n",
" \n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 2016-05-25\n",
"\\item 2016-07-23\n",
"\\item 2016-08-04\n",
"\\item 2016-07-04\n",
"\\item 2016-12-06\n",
"\\item 2016-10-29\n",
"\\item 2016-08-13\n",
"\\item 2016-09-17\n",
"\\item 2016-11-16\n",
"\\item 2016-04-23\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 2016-05-25\n",
"2. 2016-07-23\n",
"3. 2016-08-04\n",
"4. 2016-07-04\n",
"5. 2016-12-06\n",
"6. 2016-10-29\n",
"7. 2016-08-13\n",
"8. 2016-09-17\n",
"9. 2016-11-16\n",
"10. 2016-04-23\n",
"\n",
"\n"
],
"text/plain": [
" [1] \"2016-05-25\" \"2016-07-23\" \"2016-08-04\" \"2016-07-04\" \"2016-12-06\"\n",
" [6] \"2016-10-29\" \"2016-08-13\" \"2016-09-17\" \"2016-11-16\" \"2016-04-23\""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dates <- sample(seq(as.Date('2016/01/01'), \n",
" as.Date('2017/01/01'), by=\"day\"), 10)\n",
"dates"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"df <- data.frame(description=paste(sites, subjects, dates, sep=\":\"),\n",
" score=rnorm(10))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"description score \n",
"\n",
"\tsite1:64:2016-05-25 -1.3108151 \n",
"\tsite2:7:2016-07-23 1.6269679 \n",
"\tsite3:96:2016-08-04 0.5706658 \n",
"\tsite4:28:2016-07-04 -1.7594424 \n",
"\tsite5:89:2016-12-06 0.9366193 \n",
"\tsite6:69:2016-10-29 0.5264268 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|ll}\n",
" description & score\\\\\n",
"\\hline\n",
"\t site1:64:2016-05-25 & -1.3108151 \\\\\n",
"\t site2:7:2016-07-23 & 1.6269679 \\\\\n",
"\t site3:96:2016-08-04 & 0.5706658 \\\\\n",
"\t site4:28:2016-07-04 & -1.7594424 \\\\\n",
"\t site5:89:2016-12-06 & 0.9366193 \\\\\n",
"\t site6:69:2016-10-29 & 0.5264268 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"description | score | \n",
"|---|---|---|---|---|---|\n",
"| site1:64:2016-05-25 | -1.3108151 | \n",
"| site2:7:2016-07-23 | 1.6269679 | \n",
"| site3:96:2016-08-04 | 0.5706658 | \n",
"| site4:28:2016-07-04 | -1.7594424 | \n",
"| site5:89:2016-12-06 | 0.9366193 | \n",
"| site6:69:2016-10-29 | 0.5264268 | \n",
"\n",
"\n"
],
"text/plain": [
" description score \n",
"1 site1:64:2016-05-25 -1.3108151\n",
"2 site2:7:2016-07-23 1.6269679\n",
"3 site3:96:2016-08-04 0.5706658\n",
"4 site4:28:2016-07-04 -1.7594424\n",
"5 site5:89:2016-12-06 0.9366193\n",
"6 site6:69:2016-10-29 0.5264268"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"head(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Using `separate`"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site pid date score \n",
"\n",
"\tsite1 64 2016-05-25 -1.3108151 \n",
"\tsite2 7 2016-07-23 1.6269679 \n",
"\tsite3 96 2016-08-04 0.5706658 \n",
"\tsite4 28 2016-07-04 -1.7594424 \n",
"\tsite5 89 2016-12-06 0.9366193 \n",
"\tsite6 69 2016-10-29 0.5264268 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" site & pid & date & score\\\\\n",
"\\hline\n",
"\t site1 & 64 & 2016-05-25 & -1.3108151\\\\\n",
"\t site2 & 7 & 2016-07-23 & 1.6269679\\\\\n",
"\t site3 & 96 & 2016-08-04 & 0.5706658\\\\\n",
"\t site4 & 28 & 2016-07-04 & -1.7594424\\\\\n",
"\t site5 & 89 & 2016-12-06 & 0.9366193\\\\\n",
"\t site6 & 69 & 2016-10-29 & 0.5264268\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site | pid | date | score | \n",
"|---|---|---|---|---|---|\n",
"| site1 | 64 | 2016-05-25 | -1.3108151 | \n",
"| site2 | 7 | 2016-07-23 | 1.6269679 | \n",
"| site3 | 96 | 2016-08-04 | 0.5706658 | \n",
"| site4 | 28 | 2016-07-04 | -1.7594424 | \n",
"| site5 | 89 | 2016-12-06 | 0.9366193 | \n",
"| site6 | 69 | 2016-10-29 | 0.5264268 | \n",
"\n",
"\n"
],
"text/plain": [
" site pid date score \n",
"1 site1 64 2016-05-25 -1.3108151\n",
"2 site2 7 2016-07-23 1.6269679\n",
"3 site3 96 2016-08-04 0.5706658\n",
"4 site4 28 2016-07-04 -1.7594424\n",
"5 site5 89 2016-12-06 0.9366193\n",
"6 site6 69 2016-10-29 0.5264268"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df %>% separate(col=description, into=c(\"site\", \"pid\", \"date\"), sep=\":\") %>% head"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### When a single separator is not enough"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"df.1 <- data.frame(description=paste(sites, subjects, dates, sep=\"-\"),\n",
" score=rnorm(10))"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"description score \n",
"\n",
"\tsite1-64-2016-05-25 0.9018461 \n",
"\tsite2-7-2016-07-23 1.8470596 \n",
"\tsite3-96-2016-08-04 0.1700874 \n",
"\tsite4-28-2016-07-04 -0.7663310 \n",
"\tsite5-89-2016-12-06 -1.0308395 \n",
"\tsite6-69-2016-10-29 1.2056017 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|ll}\n",
" description & score\\\\\n",
"\\hline\n",
"\t site1-64-2016-05-25 & 0.9018461 \\\\\n",
"\t site2-7-2016-07-23 & 1.8470596 \\\\\n",
"\t site3-96-2016-08-04 & 0.1700874 \\\\\n",
"\t site4-28-2016-07-04 & -0.7663310 \\\\\n",
"\t site5-89-2016-12-06 & -1.0308395 \\\\\n",
"\t site6-69-2016-10-29 & 1.2056017 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"description | score | \n",
"|---|---|---|---|---|---|\n",
"| site1-64-2016-05-25 | 0.9018461 | \n",
"| site2-7-2016-07-23 | 1.8470596 | \n",
"| site3-96-2016-08-04 | 0.1700874 | \n",
"| site4-28-2016-07-04 | -0.7663310 | \n",
"| site5-89-2016-12-06 | -1.0308395 | \n",
"| site6-69-2016-10-29 | 1.2056017 | \n",
"\n",
"\n"
],
"text/plain": [
" description score \n",
"1 site1-64-2016-05-25 0.9018461\n",
"2 site2-7-2016-07-23 1.8470596\n",
"3 site3-96-2016-08-04 0.1700874\n",
"4 site4-28-2016-07-04 -0.7663310\n",
"5 site5-89-2016-12-06 -1.0308395\n",
"6 site6-69-2016-10-29 1.2056017"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"head(df.1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Using `extract` (advanced)\n",
"\n",
"The verb `extract` is like separate, but instead of using a separator, it uses a **regular expression** to split strings. A crash course in regular expressions:\n",
"\n",
"- `abc` matches the characters 'abc'\n",
"- `-` matches the character '-'\n",
"- `[abc]` matches `a` or `b` or `c`\n",
"- `[a-z]` matches any lower case letter\n",
"- `[0-9]` matches any digit\n",
"- `.` matches any single character\n",
"- `\\\\d` matches any single digit\n",
"- `+` matches one or more of the preceding character set\n",
"- `*` matches zero or more of the preceding character set\n",
"- `{m, n}` matches between m and n copies of the preceding character set\n",
"- `()` indicates a capture group - the separated values desired"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site pid date score \n",
"\n",
"\t1 64 2016-05-25 0.9018461 \n",
"\t2 7 2016-07-23 1.8470596 \n",
"\t3 96 2016-08-04 0.1700874 \n",
"\t4 28 2016-07-04 -0.7663310 \n",
"\t5 89 2016-12-06 -1.0308395 \n",
"\t6 69 2016-10-29 1.2056017 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" site & pid & date & score\\\\\n",
"\\hline\n",
"\t 1 & 64 & 2016-05-25 & 0.9018461\\\\\n",
"\t 2 & 7 & 2016-07-23 & 1.8470596\\\\\n",
"\t 3 & 96 & 2016-08-04 & 0.1700874\\\\\n",
"\t 4 & 28 & 2016-07-04 & -0.7663310\\\\\n",
"\t 5 & 89 & 2016-12-06 & -1.0308395\\\\\n",
"\t 6 & 69 & 2016-10-29 & 1.2056017\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site | pid | date | score | \n",
"|---|---|---|---|---|---|\n",
"| 1 | 64 | 2016-05-25 | 0.9018461 | \n",
"| 2 | 7 | 2016-07-23 | 1.8470596 | \n",
"| 3 | 96 | 2016-08-04 | 0.1700874 | \n",
"| 4 | 28 | 2016-07-04 | -0.7663310 | \n",
"| 5 | 89 | 2016-12-06 | -1.0308395 | \n",
"| 6 | 69 | 2016-10-29 | 1.2056017 | \n",
"\n",
"\n"
],
"text/plain": [
" site pid date score \n",
"1 1 64 2016-05-25 0.9018461\n",
"2 2 7 2016-07-23 1.8470596\n",
"3 3 96 2016-08-04 0.1700874\n",
"4 4 28 2016-07-04 -0.7663310\n",
"5 5 89 2016-12-06 -1.0308395\n",
"6 6 69 2016-10-29 1.2056017"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.1 %>% extract(col=description, into=c(\"site\", \"pid\", \"date\"), regex=\"site([0-9]+)-([0-9]+)-(.*)\") %>% head"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Separate rows\n",
"\n",
"Less commonly, a single row contains multiple observations needs to be separated into multiple rows using `separate_rows` or `extract_rows`."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"df.2 <- data.frame(pid=1:10, scores=replicate(10, paste(sample(1:10000, 3), collapse=\",\")))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"pid scores \n",
"\n",
"\t1 5631,9112,2114 \n",
"\t2 720,6652,4332 \n",
"\t3 9810,243,853 \n",
"\t4 8522,7479,9176 \n",
"\t5 8715,7581,3025 \n",
"\t6 4658,6293,9580 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|ll}\n",
" pid & scores\\\\\n",
"\\hline\n",
"\t 1 & 5631,9112,2114\\\\\n",
"\t 2 & 720,6652,4332 \\\\\n",
"\t 3 & 9810,243,853 \\\\\n",
"\t 4 & 8522,7479,9176\\\\\n",
"\t 5 & 8715,7581,3025\\\\\n",
"\t 6 & 4658,6293,9580\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"pid | scores | \n",
"|---|---|---|---|---|---|\n",
"| 1 | 5631,9112,2114 | \n",
"| 2 | 720,6652,4332 | \n",
"| 3 | 9810,243,853 | \n",
"| 4 | 8522,7479,9176 | \n",
"| 5 | 8715,7581,3025 | \n",
"| 6 | 4658,6293,9580 | \n",
"\n",
"\n"
],
"text/plain": [
" pid scores \n",
"1 1 5631,9112,2114\n",
"2 2 720,6652,4332 \n",
"3 3 9810,243,853 \n",
"4 4 8522,7479,9176\n",
"5 5 8715,7581,3025\n",
"6 6 4658,6293,9580"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"head(df.2)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"pid scores \n",
"\n",
"\t1 5631 \n",
"\t1 9112 \n",
"\t1 2114 \n",
"\t2 720 \n",
"\t2 6652 \n",
"\t2 4332 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|ll}\n",
" pid & scores\\\\\n",
"\\hline\n",
"\t 1 & 5631\\\\\n",
"\t 1 & 9112\\\\\n",
"\t 1 & 2114\\\\\n",
"\t 2 & 720 \\\\\n",
"\t 2 & 6652\\\\\n",
"\t 2 & 4332\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"pid | scores | \n",
"|---|---|---|---|---|---|\n",
"| 1 | 5631 | \n",
"| 1 | 9112 | \n",
"| 1 | 2114 | \n",
"| 2 | 720 | \n",
"| 2 | 6652 | \n",
"| 2 | 4332 | \n",
"\n",
"\n"
],
"text/plain": [
" pid scores\n",
"1 1 5631 \n",
"2 1 9112 \n",
"3 1 2114 \n",
"4 2 720 \n",
"5 2 6652 \n",
"6 2 4332 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.2 %>% separate_rows(col=scores, sep=\",\") %>% head"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## From columns to key-value pairs with `gather`\n",
"\n",
"Sometimes a single variable is spread out over multiple columns. For example, we may wish to consider the `Sepal.Length`, `Sepal.Width`, `Petal.Length` and `Petal.Width` as variants of a single variable `measure`. The verb to use is `gather` which transforms a \"wide\" `data.frame` into a \"tall\" one.\n",
"\n",
"For example, suppose we want `ggplot2` to plot each measurement in a separate panel, colored by `Species`. "
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Sepal.Length Sepal.Width Petal.Length Petal.Width Species \n",
"\n",
"\t5.1 3.5 1.4 0.2 setosa \n",
"\t4.9 3.0 1.4 0.2 setosa \n",
"\t4.7 3.2 1.3 0.2 setosa \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lllll}\n",
" Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\\\\\n",
"\\hline\n",
"\t 5.1 & 3.5 & 1.4 & 0.2 & setosa\\\\\n",
"\t 4.9 & 3.0 & 1.4 & 0.2 & setosa\\\\\n",
"\t 4.7 & 3.2 & 1.3 & 0.2 & setosa\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species | \n",
"|---|---|---|\n",
"| 5.1 | 3.5 | 1.4 | 0.2 | setosa | \n",
"| 4.9 | 3.0 | 1.4 | 0.2 | setosa | \n",
"| 4.7 | 3.2 | 1.3 | 0.2 | setosa | \n",
"\n",
"\n"
],
"text/plain": [
" Sepal.Length Sepal.Width Petal.Length Petal.Width Species\n",
"1 5.1 3.5 1.4 0.2 setosa \n",
"2 4.9 3.0 1.4 0.2 setosa \n",
"3 4.7 3.2 1.3 0.2 setosa "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"head(iris, n=3)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species measure value \n",
"\n",
"\tsetosa Sepal.Length 5.1 \n",
"\tsetosa Sepal.Length 4.9 \n",
"\tsetosa Sepal.Length 4.7 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" Species & measure & value\\\\\n",
"\\hline\n",
"\t setosa & Sepal.Length & 5.1 \\\\\n",
"\t setosa & Sepal.Length & 4.9 \\\\\n",
"\t setosa & Sepal.Length & 4.7 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | measure | value | \n",
"|---|---|---|\n",
"| setosa | Sepal.Length | 5.1 | \n",
"| setosa | Sepal.Length | 4.9 | \n",
"| setosa | Sepal.Length | 4.7 | \n",
"\n",
"\n"
],
"text/plain": [
" Species measure value\n",
"1 setosa Sepal.Length 5.1 \n",
"2 setosa Sepal.Length 4.9 \n",
"3 setosa Sepal.Length 4.7 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"iris %>% gather(key=measure, value = value, 1:4) %>% head(n=3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Alternative ways of specifying columns to gather"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species measure value \n",
"\n",
"\tsetosa Sepal.Length 5.1 \n",
"\tsetosa Sepal.Length 4.9 \n",
"\tsetosa Sepal.Length 4.7 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" Species & measure & value\\\\\n",
"\\hline\n",
"\t setosa & Sepal.Length & 5.1 \\\\\n",
"\t setosa & Sepal.Length & 4.9 \\\\\n",
"\t setosa & Sepal.Length & 4.7 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | measure | value | \n",
"|---|---|---|\n",
"| setosa | Sepal.Length | 5.1 | \n",
"| setosa | Sepal.Length | 4.9 | \n",
"| setosa | Sepal.Length | 4.7 | \n",
"\n",
"\n"
],
"text/plain": [
" Species measure value\n",
"1 setosa Sepal.Length 5.1 \n",
"2 setosa Sepal.Length 4.9 \n",
"3 setosa Sepal.Length 4.7 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"iris %>% gather(measure, value, 1:4) %>% head(n=3)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species measure value \n",
"\n",
"\tsetosa Sepal.Length 5.1 \n",
"\tsetosa Sepal.Length 4.9 \n",
"\tsetosa Sepal.Length 4.7 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" Species & measure & value\\\\\n",
"\\hline\n",
"\t setosa & Sepal.Length & 5.1 \\\\\n",
"\t setosa & Sepal.Length & 4.9 \\\\\n",
"\t setosa & Sepal.Length & 4.7 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | measure | value | \n",
"|---|---|---|\n",
"| setosa | Sepal.Length | 5.1 | \n",
"| setosa | Sepal.Length | 4.9 | \n",
"| setosa | Sepal.Length | 4.7 | \n",
"\n",
"\n"
],
"text/plain": [
" Species measure value\n",
"1 setosa Sepal.Length 5.1 \n",
"2 setosa Sepal.Length 4.9 \n",
"3 setosa Sepal.Length 4.7 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"iris %>% gather(measure, value, c(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width)) %>% head(n=3)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species measure value \n",
"\n",
"\tsetosa Sepal.Length 5.1 \n",
"\tsetosa Sepal.Length 4.9 \n",
"\tsetosa Sepal.Length 4.7 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" Species & measure & value\\\\\n",
"\\hline\n",
"\t setosa & Sepal.Length & 5.1 \\\\\n",
"\t setosa & Sepal.Length & 4.9 \\\\\n",
"\t setosa & Sepal.Length & 4.7 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | measure | value | \n",
"|---|---|---|\n",
"| setosa | Sepal.Length | 5.1 | \n",
"| setosa | Sepal.Length | 4.9 | \n",
"| setosa | Sepal.Length | 4.7 | \n",
"\n",
"\n"
],
"text/plain": [
" Species measure value\n",
"1 setosa Sepal.Length 5.1 \n",
"2 setosa Sepal.Length 4.9 \n",
"3 setosa Sepal.Length 4.7 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"iris %>% gather(measure, value, Sepal.Length, Sepal.Width, Petal.Length, Petal.Width) %>% head(n=3)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species measure value \n",
"\n",
"\tsetosa Sepal.Length 5.1 \n",
"\tsetosa Sepal.Length 4.9 \n",
"\tsetosa Sepal.Length 4.7 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" Species & measure & value\\\\\n",
"\\hline\n",
"\t setosa & Sepal.Length & 5.1 \\\\\n",
"\t setosa & Sepal.Length & 4.9 \\\\\n",
"\t setosa & Sepal.Length & 4.7 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | measure | value | \n",
"|---|---|---|\n",
"| setosa | Sepal.Length | 5.1 | \n",
"| setosa | Sepal.Length | 4.9 | \n",
"| setosa | Sepal.Length | 4.7 | \n",
"\n",
"\n"
],
"text/plain": [
" Species measure value\n",
"1 setosa Sepal.Length 5.1 \n",
"2 setosa Sepal.Length 4.9 \n",
"3 setosa Sepal.Length 4.7 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"iris %>% gather(measure, value, -Species) %>% head(n=3)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species measure value \n",
"\n",
"\tsetosa Sepal.Length 5.1 \n",
"\tsetosa Sepal.Length 4.9 \n",
"\tsetosa Sepal.Length 4.7 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" Species & measure & value\\\\\n",
"\\hline\n",
"\t setosa & Sepal.Length & 5.1 \\\\\n",
"\t setosa & Sepal.Length & 4.9 \\\\\n",
"\t setosa & Sepal.Length & 4.7 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | measure | value | \n",
"|---|---|---|\n",
"| setosa | Sepal.Length | 5.1 | \n",
"| setosa | Sepal.Length | 4.9 | \n",
"| setosa | Sepal.Length | 4.7 | \n",
"\n",
"\n"
],
"text/plain": [
" Species measure value\n",
"1 setosa Sepal.Length 5.1 \n",
"2 setosa Sepal.Length 4.9 \n",
"3 setosa Sepal.Length 4.7 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"iris %>% gather(measure, value, -5) %>% head(n=3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Use of `gather` for plotting"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"plot without title"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.3 <- iris %>% gather(measure, value, -Species)\n",
"ggplot(df.3, aes(x=value, color=Species, fill=Species)) +\n",
"geom_density(alpha=0.5) +\n",
"facet_wrap(~ measure, scales = \"free\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## From key-value pairs to columns with `spread`\n",
"\n",
"The verb `spread` is the reverse of `gather` - it makes a \"tall\" `data.frame` into a \"wide\" one. However, it requires that each row have a unique identifier to do so. If we just try to apply `spread` to the tall version of `iris`, it will fail because there are 50 of each Species. We therefore need to generate a new column to make each row have a unique identifier."
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species measure value \n",
"\n",
"\tsetosa Sepal.Length 5.1 \n",
"\tsetosa Sepal.Length 4.9 \n",
"\tsetosa Sepal.Length 4.7 \n",
"\tsetosa Sepal.Length 4.6 \n",
"\tsetosa Sepal.Length 5.0 \n",
"\tsetosa Sepal.Length 5.4 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" Species & measure & value\\\\\n",
"\\hline\n",
"\t setosa & Sepal.Length & 5.1 \\\\\n",
"\t setosa & Sepal.Length & 4.9 \\\\\n",
"\t setosa & Sepal.Length & 4.7 \\\\\n",
"\t setosa & Sepal.Length & 4.6 \\\\\n",
"\t setosa & Sepal.Length & 5.0 \\\\\n",
"\t setosa & Sepal.Length & 5.4 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | measure | value | \n",
"|---|---|---|---|---|---|\n",
"| setosa | Sepal.Length | 5.1 | \n",
"| setosa | Sepal.Length | 4.9 | \n",
"| setosa | Sepal.Length | 4.7 | \n",
"| setosa | Sepal.Length | 4.6 | \n",
"| setosa | Sepal.Length | 5.0 | \n",
"| setosa | Sepal.Length | 5.4 | \n",
"\n",
"\n"
],
"text/plain": [
" Species measure value\n",
"1 setosa Sepal.Length 5.1 \n",
"2 setosa Sepal.Length 4.9 \n",
"3 setosa Sepal.Length 4.7 \n",
"4 setosa Sepal.Length 4.6 \n",
"5 setosa Sepal.Length 5.0 \n",
"6 setosa Sepal.Length 5.4 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"head(df.3)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"df.3$n <- rep(1:50, 12)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species n Petal.Length Petal.Width Sepal.Length Sepal.Width \n",
"\n",
"\tsetosa 1 1.4 0.2 5.1 3.5 \n",
"\tsetosa 2 1.4 0.2 4.9 3.0 \n",
"\tsetosa 3 1.3 0.2 4.7 3.2 \n",
"\tsetosa 4 1.5 0.2 4.6 3.1 \n",
"\tsetosa 5 1.4 0.2 5.0 3.6 \n",
"\tsetosa 6 1.7 0.4 5.4 3.9 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llllll}\n",
" Species & n & Petal.Length & Petal.Width & Sepal.Length & Sepal.Width\\\\\n",
"\\hline\n",
"\t setosa & 1 & 1.4 & 0.2 & 5.1 & 3.5 \\\\\n",
"\t setosa & 2 & 1.4 & 0.2 & 4.9 & 3.0 \\\\\n",
"\t setosa & 3 & 1.3 & 0.2 & 4.7 & 3.2 \\\\\n",
"\t setosa & 4 & 1.5 & 0.2 & 4.6 & 3.1 \\\\\n",
"\t setosa & 5 & 1.4 & 0.2 & 5.0 & 3.6 \\\\\n",
"\t setosa & 6 & 1.7 & 0.4 & 5.4 & 3.9 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | n | Petal.Length | Petal.Width | Sepal.Length | Sepal.Width | \n",
"|---|---|---|---|---|---|\n",
"| setosa | 1 | 1.4 | 0.2 | 5.1 | 3.5 | \n",
"| setosa | 2 | 1.4 | 0.2 | 4.9 | 3.0 | \n",
"| setosa | 3 | 1.3 | 0.2 | 4.7 | 3.2 | \n",
"| setosa | 4 | 1.5 | 0.2 | 4.6 | 3.1 | \n",
"| setosa | 5 | 1.4 | 0.2 | 5.0 | 3.6 | \n",
"| setosa | 6 | 1.7 | 0.4 | 5.4 | 3.9 | \n",
"\n",
"\n"
],
"text/plain": [
" Species n Petal.Length Petal.Width Sepal.Length Sepal.Width\n",
"1 setosa 1 1.4 0.2 5.1 3.5 \n",
"2 setosa 2 1.4 0.2 4.9 3.0 \n",
"3 setosa 3 1.3 0.2 4.7 3.2 \n",
"4 setosa 4 1.5 0.2 4.6 3.1 \n",
"5 setosa 5 1.4 0.2 5.0 3.6 \n",
"6 setosa 6 1.7 0.4 5.4 3.9 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"iris.1 <- df.3 %>% spread(measure, value)\n",
"head(iris.1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### We can drop the column n now"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species Petal.Length Petal.Width Sepal.Length Sepal.Width \n",
"\n",
"\tsetosa 1.4 0.2 5.1 3.5 \n",
"\tsetosa 1.4 0.2 4.9 3.0 \n",
"\tsetosa 1.3 0.2 4.7 3.2 \n",
"\tsetosa 1.5 0.2 4.6 3.1 \n",
"\tsetosa 1.4 0.2 5.0 3.6 \n",
"\tsetosa 1.7 0.4 5.4 3.9 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lllll}\n",
" Species & Petal.Length & Petal.Width & Sepal.Length & Sepal.Width\\\\\n",
"\\hline\n",
"\t setosa & 1.4 & 0.2 & 5.1 & 3.5 \\\\\n",
"\t setosa & 1.4 & 0.2 & 4.9 & 3.0 \\\\\n",
"\t setosa & 1.3 & 0.2 & 4.7 & 3.2 \\\\\n",
"\t setosa & 1.5 & 0.2 & 4.6 & 3.1 \\\\\n",
"\t setosa & 1.4 & 0.2 & 5.0 & 3.6 \\\\\n",
"\t setosa & 1.7 & 0.4 & 5.4 & 3.9 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | Petal.Length | Petal.Width | Sepal.Length | Sepal.Width | \n",
"|---|---|---|---|---|---|\n",
"| setosa | 1.4 | 0.2 | 5.1 | 3.5 | \n",
"| setosa | 1.4 | 0.2 | 4.9 | 3.0 | \n",
"| setosa | 1.3 | 0.2 | 4.7 | 3.2 | \n",
"| setosa | 1.5 | 0.2 | 4.6 | 3.1 | \n",
"| setosa | 1.4 | 0.2 | 5.0 | 3.6 | \n",
"| setosa | 1.7 | 0.4 | 5.4 | 3.9 | \n",
"\n",
"\n"
],
"text/plain": [
" Species Petal.Length Petal.Width Sepal.Length Sepal.Width\n",
"1 setosa 1.4 0.2 5.1 3.5 \n",
"2 setosa 1.4 0.2 4.9 3.0 \n",
"3 setosa 1.3 0.2 4.7 3.2 \n",
"4 setosa 1.5 0.2 4.6 3.1 \n",
"5 setosa 1.4 0.2 5.0 3.6 \n",
"6 setosa 1.7 0.4 5.4 3.9 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"iris.2 <- iris.1[, -2]\n",
"head(iris.2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### How to do all this in a single fluent command using pipes (explained in next session)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"df.3 <- df.3[,-4] # remove n to restore oroignal tall format"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species Petal.Length Petal.Width Sepal.Length Sepal.Width \n",
"\n",
"\tsetosa 1.4 0.2 5.1 3.5 \n",
"\tsetosa 1.4 0.2 4.9 3.0 \n",
"\tsetosa 1.3 0.2 4.7 3.2 \n",
"\tsetosa 1.5 0.2 4.6 3.1 \n",
"\tsetosa 1.4 0.2 5.0 3.6 \n",
"\tsetosa 1.7 0.4 5.4 3.9 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lllll}\n",
" Species & Petal.Length & Petal.Width & Sepal.Length & Sepal.Width\\\\\n",
"\\hline\n",
"\t setosa & 1.4 & 0.2 & 5.1 & 3.5 \\\\\n",
"\t setosa & 1.4 & 0.2 & 4.9 & 3.0 \\\\\n",
"\t setosa & 1.3 & 0.2 & 4.7 & 3.2 \\\\\n",
"\t setosa & 1.5 & 0.2 & 4.6 & 3.1 \\\\\n",
"\t setosa & 1.4 & 0.2 & 5.0 & 3.6 \\\\\n",
"\t setosa & 1.7 & 0.4 & 5.4 & 3.9 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | Petal.Length | Petal.Width | Sepal.Length | Sepal.Width | \n",
"|---|---|---|---|---|---|\n",
"| setosa | 1.4 | 0.2 | 5.1 | 3.5 | \n",
"| setosa | 1.4 | 0.2 | 4.9 | 3.0 | \n",
"| setosa | 1.3 | 0.2 | 4.7 | 3.2 | \n",
"| setosa | 1.5 | 0.2 | 4.6 | 3.1 | \n",
"| setosa | 1.4 | 0.2 | 5.0 | 3.6 | \n",
"| setosa | 1.7 | 0.4 | 5.4 | 3.9 | \n",
"\n",
"\n"
],
"text/plain": [
" Species Petal.Length Petal.Width Sepal.Length Sepal.Width\n",
"1 setosa 1.4 0.2 5.1 3.5 \n",
"2 setosa 1.4 0.2 4.9 3.0 \n",
"3 setosa 1.3 0.2 4.7 3.2 \n",
"4 setosa 1.5 0.2 4.6 3.1 \n",
"5 setosa 1.4 0.2 5.0 3.6 \n",
"6 setosa 1.7 0.4 5.4 3.9 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.3 %>% \n",
"mutate(n=rep(1:50,12)) %>% \n",
"spread(measure, value) %>% \n",
"select(-n) %>% \n",
"head"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## When variables are stored in both rows and columns (advanced)\n",
"\n",
"In the toy example below, we measure peak and trough levels of something (blood glucose level, viral titers etc) recorded between visits. We convert this into a tidy data frame in two steps:\n",
"\n",
"1. Use `tidyr::gather` to create a new column variable `visit`\n",
"2. Use `tidyr::spread` to create `peak` and `trough` column variables from each row of `measure`"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"subject measure visit1 visit2 \n",
"\n",
"\tAnn peak 250 500 \n",
"\tAnn trough 125 125 \n",
"\tBob peak 1000 900 \n",
"\tBob trough 750 650 \n",
"\tCharlie peak 1500 1550 \n",
"\tCharlie trough 250 500 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" subject & measure & visit1 & visit2\\\\\n",
"\\hline\n",
"\t Ann & peak & 250 & 500 \\\\\n",
"\t Ann & trough & 125 & 125 \\\\\n",
"\t Bob & peak & 1000 & 900 \\\\\n",
"\t Bob & trough & 750 & 650 \\\\\n",
"\t Charlie & peak & 1500 & 1550 \\\\\n",
"\t Charlie & trough & 250 & 500 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"subject | measure | visit1 | visit2 | \n",
"|---|---|---|---|---|---|\n",
"| Ann | peak | 250 | 500 | \n",
"| Ann | trough | 125 | 125 | \n",
"| Bob | peak | 1000 | 900 | \n",
"| Bob | trough | 750 | 650 | \n",
"| Charlie | peak | 1500 | 1550 | \n",
"| Charlie | trough | 250 | 500 | \n",
"\n",
"\n"
],
"text/plain": [
" subject measure visit1 visit2\n",
"1 Ann peak 250 500 \n",
"2 Ann trough 125 125 \n",
"3 Bob peak 1000 900 \n",
"4 Bob trough 750 650 \n",
"5 Charlie peak 1500 1550 \n",
"6 Charlie trough 250 500 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"subject <- c(\"Ann\", \"Ann\", \"Bob\", \"Bob\", \"Charlie\", \"Charlie\")\n",
"measure <- c(\"peak\", \"trough\", \"peak\", \"trough\", \"peak\", \"trough\")\n",
"visit1 <- c(250, 125, 1000, 750, 1500, 250)\n",
"visit2 <- c(500, 125, 900, 650, 1550, 500)\n",
"df.4 <- data.frame(subject, measure, visit1, visit2)\n",
"df.4"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### First gather the visit values ioto a single column"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"subject measure visit value \n",
"\n",
"\tAnn peak visit1 250 \n",
"\tAnn trough visit1 125 \n",
"\tBob peak visit1 1000 \n",
"\tBob trough visit1 750 \n",
"\tCharlie peak visit1 1500 \n",
"\tCharlie trough visit1 250 \n",
"\tAnn peak visit2 500 \n",
"\tAnn trough visit2 125 \n",
"\tBob peak visit2 900 \n",
"\tBob trough visit2 650 \n",
"\tCharlie peak visit2 1550 \n",
"\tCharlie trough visit2 500 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" subject & measure & visit & value\\\\\n",
"\\hline\n",
"\t Ann & peak & visit1 & 250 \\\\\n",
"\t Ann & trough & visit1 & 125 \\\\\n",
"\t Bob & peak & visit1 & 1000 \\\\\n",
"\t Bob & trough & visit1 & 750 \\\\\n",
"\t Charlie & peak & visit1 & 1500 \\\\\n",
"\t Charlie & trough & visit1 & 250 \\\\\n",
"\t Ann & peak & visit2 & 500 \\\\\n",
"\t Ann & trough & visit2 & 125 \\\\\n",
"\t Bob & peak & visit2 & 900 \\\\\n",
"\t Bob & trough & visit2 & 650 \\\\\n",
"\t Charlie & peak & visit2 & 1550 \\\\\n",
"\t Charlie & trough & visit2 & 500 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"subject | measure | visit | value | \n",
"|---|---|---|---|---|---|---|---|---|---|---|---|\n",
"| Ann | peak | visit1 | 250 | \n",
"| Ann | trough | visit1 | 125 | \n",
"| Bob | peak | visit1 | 1000 | \n",
"| Bob | trough | visit1 | 750 | \n",
"| Charlie | peak | visit1 | 1500 | \n",
"| Charlie | trough | visit1 | 250 | \n",
"| Ann | peak | visit2 | 500 | \n",
"| Ann | trough | visit2 | 125 | \n",
"| Bob | peak | visit2 | 900 | \n",
"| Bob | trough | visit2 | 650 | \n",
"| Charlie | peak | visit2 | 1550 | \n",
"| Charlie | trough | visit2 | 500 | \n",
"\n",
"\n"
],
"text/plain": [
" subject measure visit value\n",
"1 Ann peak visit1 250 \n",
"2 Ann trough visit1 125 \n",
"3 Bob peak visit1 1000 \n",
"4 Bob trough visit1 750 \n",
"5 Charlie peak visit1 1500 \n",
"6 Charlie trough visit1 250 \n",
"7 Ann peak visit2 500 \n",
"8 Ann trough visit2 125 \n",
"9 Bob peak visit2 900 \n",
"10 Bob trough visit2 650 \n",
"11 Charlie peak visit2 1550 \n",
"12 Charlie trough visit2 500 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.5 <- df.4 %>% gather(visit, value, visit1, visit2)\n",
"df.5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Then spread the peak and trough measurements"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"subject visit peak trough \n",
"\n",
"\tAnn visit1 250 125 \n",
"\tAnn visit2 500 125 \n",
"\tBob visit1 1000 750 \n",
"\tBob visit2 900 650 \n",
"\tCharlie visit1 1500 250 \n",
"\tCharlie visit2 1550 500 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" subject & visit & peak & trough\\\\\n",
"\\hline\n",
"\t Ann & visit1 & 250 & 125 \\\\\n",
"\t Ann & visit2 & 500 & 125 \\\\\n",
"\t Bob & visit1 & 1000 & 750 \\\\\n",
"\t Bob & visit2 & 900 & 650 \\\\\n",
"\t Charlie & visit1 & 1500 & 250 \\\\\n",
"\t Charlie & visit2 & 1550 & 500 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"subject | visit | peak | trough | \n",
"|---|---|---|---|---|---|\n",
"| Ann | visit1 | 250 | 125 | \n",
"| Ann | visit2 | 500 | 125 | \n",
"| Bob | visit1 | 1000 | 750 | \n",
"| Bob | visit2 | 900 | 650 | \n",
"| Charlie | visit1 | 1500 | 250 | \n",
"| Charlie | visit2 | 1550 | 500 | \n",
"\n",
"\n"
],
"text/plain": [
" subject visit peak trough\n",
"1 Ann visit1 250 125 \n",
"2 Ann visit2 500 125 \n",
"3 Bob visit1 1000 750 \n",
"4 Bob visit2 900 650 \n",
"5 Charlie visit1 1500 250 \n",
"6 Charlie visit2 1550 500 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.5 %>% spread(measure, value)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### In one fluent command"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"subject visit peak trough \n",
"\n",
"\tAnn visit1 250 125 \n",
"\tAnn visit2 500 125 \n",
"\tBob visit1 1000 750 \n",
"\tBob visit2 900 650 \n",
"\tCharlie visit1 1500 250 \n",
"\tCharlie visit2 1550 500 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" subject & visit & peak & trough\\\\\n",
"\\hline\n",
"\t Ann & visit1 & 250 & 125 \\\\\n",
"\t Ann & visit2 & 500 & 125 \\\\\n",
"\t Bob & visit1 & 1000 & 750 \\\\\n",
"\t Bob & visit2 & 900 & 650 \\\\\n",
"\t Charlie & visit1 & 1500 & 250 \\\\\n",
"\t Charlie & visit2 & 1550 & 500 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"subject | visit | peak | trough | \n",
"|---|---|---|---|---|---|\n",
"| Ann | visit1 | 250 | 125 | \n",
"| Ann | visit2 | 500 | 125 | \n",
"| Bob | visit1 | 1000 | 750 | \n",
"| Bob | visit2 | 900 | 650 | \n",
"| Charlie | visit1 | 1500 | 250 | \n",
"| Charlie | visit2 | 1550 | 500 | \n",
"\n",
"\n"
],
"text/plain": [
" subject visit peak trough\n",
"1 Ann visit1 250 125 \n",
"2 Ann visit2 500 125 \n",
"3 Bob visit1 1000 750 \n",
"4 Bob visit2 900 650 \n",
"5 Charlie visit1 1500 250 \n",
"6 Charlie visit2 1550 500 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.4 %>%\n",
"gather(visit, value, visit1, visit2) %>%\n",
"spread(measure, value)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Working with missing data\n",
"\n",
"Sometimes cells contain missing values. Here we show the simplest way to deal with this common scenario. The approach shown is not always appropriate - consult a statistician if in doubt."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"iris.missing <- iris\n",
"iris.missing[2,3] <- NA\n",
"iris.missing[4:6, 1] <- NA"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Sepal.Length Sepal.Width Petal.Length Petal.Width Species \n",
"\n",
"\t5.1 3.5 1.4 0.2 setosa \n",
"\t4.9 3.0 NA 0.2 setosa \n",
"\t4.7 3.2 1.3 0.2 setosa \n",
"\t NA 3.1 1.5 0.2 setosa \n",
"\t NA 3.6 1.4 0.2 setosa \n",
"\t NA 3.9 1.7 0.4 setosa \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lllll}\n",
" Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\\\\\n",
"\\hline\n",
"\t 5.1 & 3.5 & 1.4 & 0.2 & setosa\\\\\n",
"\t 4.9 & 3.0 & NA & 0.2 & setosa\\\\\n",
"\t 4.7 & 3.2 & 1.3 & 0.2 & setosa\\\\\n",
"\t NA & 3.1 & 1.5 & 0.2 & setosa\\\\\n",
"\t NA & 3.6 & 1.4 & 0.2 & setosa\\\\\n",
"\t NA & 3.9 & 1.7 & 0.4 & setosa\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species | \n",
"|---|---|---|---|---|---|\n",
"| 5.1 | 3.5 | 1.4 | 0.2 | setosa | \n",
"| 4.9 | 3.0 | NA | 0.2 | setosa | \n",
"| 4.7 | 3.2 | 1.3 | 0.2 | setosa | \n",
"| NA | 3.1 | 1.5 | 0.2 | setosa | \n",
"| NA | 3.6 | 1.4 | 0.2 | setosa | \n",
"| NA | 3.9 | 1.7 | 0.4 | setosa | \n",
"\n",
"\n"
],
"text/plain": [
" Sepal.Length Sepal.Width Petal.Length Petal.Width Species\n",
"1 5.1 3.5 1.4 0.2 setosa \n",
"2 4.9 3.0 NA 0.2 setosa \n",
"3 4.7 3.2 1.3 0.2 setosa \n",
"4 NA 3.1 1.5 0.2 setosa \n",
"5 NA 3.6 1.4 0.2 setosa \n",
"6 NA 3.9 1.7 0.4 setosa "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"head(iris.missing)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Drop any row with missing data\n",
"\n",
"This is known as complete case analysis, and is appropriate when you have abundant observations and the missing values are believed to be missing at random."
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Sepal.Length Sepal.Width Petal.Length Petal.Width Species \n",
"\n",
"\t1 5.1 3.5 1.4 0.2 setosa \n",
"\t3 4.7 3.2 1.3 0.2 setosa \n",
"\t7 4.6 3.4 1.4 0.3 setosa \n",
"\t8 5.0 3.4 1.5 0.2 setosa \n",
"\t9 4.4 2.9 1.4 0.2 setosa \n",
"\t10 4.9 3.1 1.5 0.1 setosa \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lllll}\n",
" & Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\\\\\n",
"\\hline\n",
"\t1 & 5.1 & 3.5 & 1.4 & 0.2 & setosa\\\\\n",
"\t3 & 4.7 & 3.2 & 1.3 & 0.2 & setosa\\\\\n",
"\t7 & 4.6 & 3.4 & 1.4 & 0.3 & setosa\\\\\n",
"\t8 & 5.0 & 3.4 & 1.5 & 0.2 & setosa\\\\\n",
"\t9 & 4.4 & 2.9 & 1.4 & 0.2 & setosa\\\\\n",
"\t10 & 4.9 & 3.1 & 1.5 & 0.1 & setosa\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"| | Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species | \n",
"|---|---|---|---|---|---|\n",
"| 1 | 5.1 | 3.5 | 1.4 | 0.2 | setosa | \n",
"| 3 | 4.7 | 3.2 | 1.3 | 0.2 | setosa | \n",
"| 7 | 4.6 | 3.4 | 1.4 | 0.3 | setosa | \n",
"| 8 | 5.0 | 3.4 | 1.5 | 0.2 | setosa | \n",
"| 9 | 4.4 | 2.9 | 1.4 | 0.2 | setosa | \n",
"| 10 | 4.9 | 3.1 | 1.5 | 0.1 | setosa | \n",
"\n",
"\n"
],
"text/plain": [
" Sepal.Length Sepal.Width Petal.Length Petal.Width Species\n",
"1 5.1 3.5 1.4 0.2 setosa \n",
"3 4.7 3.2 1.3 0.2 setosa \n",
"7 4.6 3.4 1.4 0.3 setosa \n",
"8 5.0 3.4 1.5 0.2 setosa \n",
"9 4.4 2.9 1.4 0.2 setosa \n",
"10 4.9 3.1 1.5 0.1 setosa "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"iris.missing %>% drop_na %>% head"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Combining data with `join` (part of `dplyr`)\n",
"\n",
"Sometimes data is distributed over many files. In the simplest case, each data set has exactly the same format as the others, and we just need to append additional rows. At other times, each data set contains some different variable (e.g. merging clinical and assay data) and we need to match rows according to some unique row identifier."
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"### When each data.frame is similar"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t'setosa' \n",
"\t'versicolor' \n",
"\t'virginica' \n",
" \n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 'setosa'\n",
"\\item 'versicolor'\n",
"\\item 'virginica'\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 'setosa'\n",
"2. 'versicolor'\n",
"3. 'virginica'\n",
"\n",
"\n"
],
"text/plain": [
"[1] \"setosa\" \"versicolor\" \"virginica\" "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"levels(iris$Species)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"setosa <- iris %>% filter(Species==\"setosa\")\n",
"versicolor <- iris %>% filter(Species==\"versicolor\")\n",
"virginica <- iris %>% filter(Species==\"virginica\")"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t50 \n",
"\t5 \n",
" \n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 50\n",
"\\item 5\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 50\n",
"2. 5\n",
"\n",
"\n"
],
"text/plain": [
"[1] 50 5"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dim(setosa)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Sepal.Length Sepal.Width Petal.Length Petal.Width Species \n",
"\n",
"\t5.1 3.5 1.4 0.2 setosa \n",
"\t4.9 3.0 1.4 0.2 setosa \n",
"\t4.7 3.2 1.3 0.2 setosa \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lllll}\n",
" Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\\\\\n",
"\\hline\n",
"\t 5.1 & 3.5 & 1.4 & 0.2 & setosa\\\\\n",
"\t 4.9 & 3.0 & 1.4 & 0.2 & setosa\\\\\n",
"\t 4.7 & 3.2 & 1.3 & 0.2 & setosa\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species | \n",
"|---|---|---|\n",
"| 5.1 | 3.5 | 1.4 | 0.2 | setosa | \n",
"| 4.9 | 3.0 | 1.4 | 0.2 | setosa | \n",
"| 4.7 | 3.2 | 1.3 | 0.2 | setosa | \n",
"\n",
"\n"
],
"text/plain": [
" Sepal.Length Sepal.Width Petal.Length Petal.Width Species\n",
"1 5.1 3.5 1.4 0.2 setosa \n",
"2 4.9 3.0 1.4 0.2 setosa \n",
"3 4.7 3.2 1.3 0.2 setosa "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"head(setosa, 3)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t50 \n",
"\t5 \n",
" \n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 50\n",
"\\item 5\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 50\n",
"2. 5\n",
"\n",
"\n"
],
"text/plain": [
"[1] 50 5"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dim(versicolor)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Sepal.Length Sepal.Width Petal.Length Petal.Width Species \n",
"\n",
"\t7.0 3.2 4.7 1.4 versicolor \n",
"\t6.4 3.2 4.5 1.5 versicolor \n",
"\t6.9 3.1 4.9 1.5 versicolor \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lllll}\n",
" Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\\\\\n",
"\\hline\n",
"\t 7.0 & 3.2 & 4.7 & 1.4 & versicolor\\\\\n",
"\t 6.4 & 3.2 & 4.5 & 1.5 & versicolor\\\\\n",
"\t 6.9 & 3.1 & 4.9 & 1.5 & versicolor\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species | \n",
"|---|---|---|\n",
"| 7.0 | 3.2 | 4.7 | 1.4 | versicolor | \n",
"| 6.4 | 3.2 | 4.5 | 1.5 | versicolor | \n",
"| 6.9 | 3.1 | 4.9 | 1.5 | versicolor | \n",
"\n",
"\n"
],
"text/plain": [
" Sepal.Length Sepal.Width Petal.Length Petal.Width Species \n",
"1 7.0 3.2 4.7 1.4 versicolor\n",
"2 6.4 3.2 4.5 1.5 versicolor\n",
"3 6.9 3.1 4.9 1.5 versicolor"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"head(versicolor, 3)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t50 \n",
"\t5 \n",
" \n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 50\n",
"\\item 5\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 50\n",
"2. 5\n",
"\n",
"\n"
],
"text/plain": [
"[1] 50 5"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dim(virginica)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Sepal.Length Sepal.Width Petal.Length Petal.Width Species \n",
"\n",
"\t6.3 3.3 6.0 2.5 virginica \n",
"\t5.8 2.7 5.1 1.9 virginica \n",
"\t7.1 3.0 5.9 2.1 virginica \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lllll}\n",
" Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\\\\\n",
"\\hline\n",
"\t 6.3 & 3.3 & 6.0 & 2.5 & virginica\\\\\n",
"\t 5.8 & 2.7 & 5.1 & 1.9 & virginica\\\\\n",
"\t 7.1 & 3.0 & 5.9 & 2.1 & virginica\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species | \n",
"|---|---|---|\n",
"| 6.3 | 3.3 | 6.0 | 2.5 | virginica | \n",
"| 5.8 | 2.7 | 5.1 | 1.9 | virginica | \n",
"| 7.1 | 3.0 | 5.9 | 2.1 | virginica | \n",
"\n",
"\n"
],
"text/plain": [
" Sepal.Length Sepal.Width Petal.Length Petal.Width Species \n",
"1 6.3 3.3 6.0 2.5 virginica\n",
"2 5.8 2.7 5.1 1.9 virginica\n",
"3 7.1 3.0 5.9 2.1 virginica"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"head(virginica, 3)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"iris.combined <- bind_rows(setosa, versicolor, virginica)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\t150 \n",
"\t5 \n",
" \n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 150\n",
"\\item 5\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 150\n",
"2. 5\n",
"\n",
"\n"
],
"text/plain": [
"[1] 150 5"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dim(iris.combined)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Sepal.Length Sepal.Width Petal.Length Petal.Width Species \n",
"\n",
"\t43 4.4 3.2 1.3 0.2 setosa \n",
"\t129 6.4 2.8 5.6 2.1 virginica \n",
"\t26 5.0 3.0 1.6 0.2 setosa \n",
"\t15 5.8 4.0 1.2 0.2 setosa \n",
"\t3 4.7 3.2 1.3 0.2 setosa \n",
"\t7 4.6 3.4 1.4 0.3 setosa \n",
"\t145 6.7 3.3 5.7 2.5 virginica \n",
"\t131 7.4 2.8 6.1 1.9 virginica \n",
"\t85 5.4 3.0 4.5 1.5 versicolor \n",
"\t28 5.2 3.5 1.5 0.2 setosa \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lllll}\n",
" & Sepal.Length & Sepal.Width & Petal.Length & Petal.Width & Species\\\\\n",
"\\hline\n",
"\t43 & 4.4 & 3.2 & 1.3 & 0.2 & setosa \\\\\n",
"\t129 & 6.4 & 2.8 & 5.6 & 2.1 & virginica \\\\\n",
"\t26 & 5.0 & 3.0 & 1.6 & 0.2 & setosa \\\\\n",
"\t15 & 5.8 & 4.0 & 1.2 & 0.2 & setosa \\\\\n",
"\t3 & 4.7 & 3.2 & 1.3 & 0.2 & setosa \\\\\n",
"\t7 & 4.6 & 3.4 & 1.4 & 0.3 & setosa \\\\\n",
"\t145 & 6.7 & 3.3 & 5.7 & 2.5 & virginica \\\\\n",
"\t131 & 7.4 & 2.8 & 6.1 & 1.9 & virginica \\\\\n",
"\t85 & 5.4 & 3.0 & 4.5 & 1.5 & versicolor\\\\\n",
"\t28 & 5.2 & 3.5 & 1.5 & 0.2 & setosa \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"| | Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species | \n",
"|---|---|---|---|---|---|---|---|---|---|\n",
"| 43 | 4.4 | 3.2 | 1.3 | 0.2 | setosa | \n",
"| 129 | 6.4 | 2.8 | 5.6 | 2.1 | virginica | \n",
"| 26 | 5.0 | 3.0 | 1.6 | 0.2 | setosa | \n",
"| 15 | 5.8 | 4.0 | 1.2 | 0.2 | setosa | \n",
"| 3 | 4.7 | 3.2 | 1.3 | 0.2 | setosa | \n",
"| 7 | 4.6 | 3.4 | 1.4 | 0.3 | setosa | \n",
"| 145 | 6.7 | 3.3 | 5.7 | 2.5 | virginica | \n",
"| 131 | 7.4 | 2.8 | 6.1 | 1.9 | virginica | \n",
"| 85 | 5.4 | 3.0 | 4.5 | 1.5 | versicolor | \n",
"| 28 | 5.2 | 3.5 | 1.5 | 0.2 | setosa | \n",
"\n",
"\n"
],
"text/plain": [
" Sepal.Length Sepal.Width Petal.Length Petal.Width Species \n",
"43 4.4 3.2 1.3 0.2 setosa \n",
"129 6.4 2.8 5.6 2.1 virginica \n",
"26 5.0 3.0 1.6 0.2 setosa \n",
"15 5.8 4.0 1.2 0.2 setosa \n",
"3 4.7 3.2 1.3 0.2 setosa \n",
"7 4.6 3.4 1.4 0.3 setosa \n",
"145 6.7 3.3 5.7 2.5 virginica \n",
"131 7.4 2.8 6.1 1.9 virginica \n",
"85 5.4 3.0 4.5 1.5 versicolor\n",
"28 5.2 3.5 1.5 0.2 setosa "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"iris.combined %>% sample_n(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### When the rows are perfectly aligned"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species Sepal.Length Petal.Length \n",
"\n",
"\tsetosa 5.1 1.4 \n",
"\tsetosa 4.9 1.4 \n",
"\tsetosa 4.7 1.3 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" Species & Sepal.Length & Petal.Length\\\\\n",
"\\hline\n",
"\t setosa & 5.1 & 1.4 \\\\\n",
"\t setosa & 4.9 & 1.4 \\\\\n",
"\t setosa & 4.7 & 1.3 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | Sepal.Length | Petal.Length | \n",
"|---|---|---|\n",
"| setosa | 5.1 | 1.4 | \n",
"| setosa | 4.9 | 1.4 | \n",
"| setosa | 4.7 | 1.3 | \n",
"\n",
"\n"
],
"text/plain": [
" Species Sepal.Length Petal.Length\n",
"1 setosa 5.1 1.4 \n",
"2 setosa 4.9 1.4 \n",
"3 setosa 4.7 1.3 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"lengths <- iris %>% select(Species, Sepal.Length, Petal.Length)\n",
"head(lengths, 3)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Sepal.Width Petal.Width \n",
"\n",
"\t3.5 0.2 \n",
"\t3.0 0.2 \n",
"\t3.2 0.2 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|ll}\n",
" Sepal.Width & Petal.Width\\\\\n",
"\\hline\n",
"\t 3.5 & 0.2\\\\\n",
"\t 3.0 & 0.2\\\\\n",
"\t 3.2 & 0.2\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Sepal.Width | Petal.Width | \n",
"|---|---|---|\n",
"| 3.5 | 0.2 | \n",
"| 3.0 | 0.2 | \n",
"| 3.2 | 0.2 | \n",
"\n",
"\n"
],
"text/plain": [
" Sepal.Width Petal.Width\n",
"1 3.5 0.2 \n",
"2 3.0 0.2 \n",
"3 3.2 0.2 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"widths <- iris %>% select(Sepal.Width, Petal.Width)\n",
"head(widths, 3)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Species Sepal.Length Petal.Length Sepal.Width Petal.Width \n",
"\n",
"\tsetosa 5.1 1.4 3.5 0.2 \n",
"\tsetosa 4.9 1.4 3.0 0.2 \n",
"\tsetosa 4.7 1.3 3.2 0.2 \n",
"\tsetosa 4.6 1.5 3.1 0.2 \n",
"\tsetosa 5.0 1.4 3.6 0.2 \n",
"\tsetosa 5.4 1.7 3.9 0.4 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lllll}\n",
" Species & Sepal.Length & Petal.Length & Sepal.Width & Petal.Width\\\\\n",
"\\hline\n",
"\t setosa & 5.1 & 1.4 & 3.5 & 0.2 \\\\\n",
"\t setosa & 4.9 & 1.4 & 3.0 & 0.2 \\\\\n",
"\t setosa & 4.7 & 1.3 & 3.2 & 0.2 \\\\\n",
"\t setosa & 4.6 & 1.5 & 3.1 & 0.2 \\\\\n",
"\t setosa & 5.0 & 1.4 & 3.6 & 0.2 \\\\\n",
"\t setosa & 5.4 & 1.7 & 3.9 & 0.4 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"Species | Sepal.Length | Petal.Length | Sepal.Width | Petal.Width | \n",
"|---|---|---|---|---|---|\n",
"| setosa | 5.1 | 1.4 | 3.5 | 0.2 | \n",
"| setosa | 4.9 | 1.4 | 3.0 | 0.2 | \n",
"| setosa | 4.7 | 1.3 | 3.2 | 0.2 | \n",
"| setosa | 4.6 | 1.5 | 3.1 | 0.2 | \n",
"| setosa | 5.0 | 1.4 | 3.6 | 0.2 | \n",
"| setosa | 5.4 | 1.7 | 3.9 | 0.4 | \n",
"\n",
"\n"
],
"text/plain": [
" Species Sepal.Length Petal.Length Sepal.Width Petal.Width\n",
"1 setosa 5.1 1.4 3.5 0.2 \n",
"2 setosa 4.9 1.4 3.0 0.2 \n",
"3 setosa 4.7 1.3 3.2 0.2 \n",
"4 setosa 4.6 1.5 3.1 0.2 \n",
"5 setosa 5.0 1.4 3.6 0.2 \n",
"6 setosa 5.4 1.7 3.9 0.4 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"lengths %>% bind_cols(widths) %>% head"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### When data frames are different"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site.id pt.id age \n",
"\n",
"\tA 100 38 \n",
"\tA 101 35 \n",
"\tA 102 43 \n",
"\tB 100 50 \n",
"\tB 102 62 \n",
"\tB 105 50 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" site.id & pt.id & age\\\\\n",
"\\hline\n",
"\t A & 100 & 38 \\\\\n",
"\t A & 101 & 35 \\\\\n",
"\t A & 102 & 43 \\\\\n",
"\t B & 100 & 50 \\\\\n",
"\t B & 102 & 62 \\\\\n",
"\t B & 105 & 50 \\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site.id | pt.id | age | \n",
"|---|---|---|---|---|---|\n",
"| A | 100 | 38 | \n",
"| A | 101 | 35 | \n",
"| A | 102 | 43 | \n",
"| B | 100 | 50 | \n",
"| B | 102 | 62 | \n",
"| B | 105 | 50 | \n",
"\n",
"\n"
],
"text/plain": [
" site.id pt.id age\n",
"1 A 100 38 \n",
"2 A 101 35 \n",
"3 A 102 43 \n",
"4 B 100 50 \n",
"5 B 102 62 \n",
"6 B 105 50 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.clin <- data.frame(site.id=c('A', 'A', 'A', 'B', 'B', 'B'), \n",
" pt.id=c(100, 101, 102, 100, 102, 105), \n",
" age=c(38, 35, 43, 50, 62, 50))\n",
"df.clin"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site.id pt.id values \n",
"\n",
"\tB 103 872 \n",
"\tB 100 623 \n",
"\tB 105 307 \n",
"\tA 100 325 \n",
"\tA 101 651 \n",
"\tA 102 255 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" site.id & pt.id & values\\\\\n",
"\\hline\n",
"\t B & 103 & 872\\\\\n",
"\t B & 100 & 623\\\\\n",
"\t B & 105 & 307\\\\\n",
"\t A & 100 & 325\\\\\n",
"\t A & 101 & 651\\\\\n",
"\t A & 102 & 255\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site.id | pt.id | values | \n",
"|---|---|---|---|---|---|\n",
"| B | 103 | 872 | \n",
"| B | 100 | 623 | \n",
"| B | 105 | 307 | \n",
"| A | 100 | 325 | \n",
"| A | 101 | 651 | \n",
"| A | 102 | 255 | \n",
"\n",
"\n"
],
"text/plain": [
" site.id pt.id values\n",
"1 B 103 872 \n",
"2 B 100 623 \n",
"3 B 105 307 \n",
"4 A 100 325 \n",
"5 A 101 651 \n",
"6 A 102 255 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.lab <- data.frame(site.id=c('B', 'B', 'B', 'A', 'A', 'A'),\n",
" pt.id=c(103, 100, 105, 100, 101, 102),\n",
" values=sample(100:1000, 6))\n",
"df.lab"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Keep only elements in common"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site.id pt.id age values \n",
"\n",
"\tA 100 38 325 \n",
"\tA 101 35 651 \n",
"\tA 102 43 255 \n",
"\tB 100 50 623 \n",
"\tB 105 50 307 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" site.id & pt.id & age & values\\\\\n",
"\\hline\n",
"\t A & 100 & 38 & 325\\\\\n",
"\t A & 101 & 35 & 651\\\\\n",
"\t A & 102 & 43 & 255\\\\\n",
"\t B & 100 & 50 & 623\\\\\n",
"\t B & 105 & 50 & 307\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site.id | pt.id | age | values | \n",
"|---|---|---|---|---|\n",
"| A | 100 | 38 | 325 | \n",
"| A | 101 | 35 | 651 | \n",
"| A | 102 | 43 | 255 | \n",
"| B | 100 | 50 | 623 | \n",
"| B | 105 | 50 | 307 | \n",
"\n",
"\n"
],
"text/plain": [
" site.id pt.id age values\n",
"1 A 100 38 325 \n",
"2 A 101 35 651 \n",
"3 A 102 43 255 \n",
"4 B 100 50 623 \n",
"5 B 105 50 307 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.clin %>% inner_join(df.lab, by = c(\"site.id\", \"pt.id\"))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Keep all rows in df.clin"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site.id pt.id age values \n",
"\n",
"\tA 100 38 325 \n",
"\tA 101 35 651 \n",
"\tA 102 43 255 \n",
"\tB 100 50 623 \n",
"\tB 102 62 NA \n",
"\tB 105 50 307 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" site.id & pt.id & age & values\\\\\n",
"\\hline\n",
"\t A & 100 & 38 & 325\\\\\n",
"\t A & 101 & 35 & 651\\\\\n",
"\t A & 102 & 43 & 255\\\\\n",
"\t B & 100 & 50 & 623\\\\\n",
"\t B & 102 & 62 & NA\\\\\n",
"\t B & 105 & 50 & 307\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site.id | pt.id | age | values | \n",
"|---|---|---|---|---|---|\n",
"| A | 100 | 38 | 325 | \n",
"| A | 101 | 35 | 651 | \n",
"| A | 102 | 43 | 255 | \n",
"| B | 100 | 50 | 623 | \n",
"| B | 102 | 62 | NA | \n",
"| B | 105 | 50 | 307 | \n",
"\n",
"\n"
],
"text/plain": [
" site.id pt.id age values\n",
"1 A 100 38 325 \n",
"2 A 101 35 651 \n",
"3 A 102 43 255 \n",
"4 B 100 50 623 \n",
"5 B 102 62 NA \n",
"6 B 105 50 307 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.clin %>% left_join(df.lab, by = c(\"site.id\", \"pt.id\"))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Keep all rows in df.lab"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site.id pt.id age values \n",
"\n",
"\tB 103 NA 872 \n",
"\tB 100 50 623 \n",
"\tB 105 50 307 \n",
"\tA 100 38 325 \n",
"\tA 101 35 651 \n",
"\tA 102 43 255 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" site.id & pt.id & age & values\\\\\n",
"\\hline\n",
"\t B & 103 & NA & 872\\\\\n",
"\t B & 100 & 50 & 623\\\\\n",
"\t B & 105 & 50 & 307\\\\\n",
"\t A & 100 & 38 & 325\\\\\n",
"\t A & 101 & 35 & 651\\\\\n",
"\t A & 102 & 43 & 255\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site.id | pt.id | age | values | \n",
"|---|---|---|---|---|---|\n",
"| B | 103 | NA | 872 | \n",
"| B | 100 | 50 | 623 | \n",
"| B | 105 | 50 | 307 | \n",
"| A | 100 | 38 | 325 | \n",
"| A | 101 | 35 | 651 | \n",
"| A | 102 | 43 | 255 | \n",
"\n",
"\n"
],
"text/plain": [
" site.id pt.id age values\n",
"1 B 103 NA 872 \n",
"2 B 100 50 623 \n",
"3 B 105 50 307 \n",
"4 A 100 38 325 \n",
"5 A 101 35 651 \n",
"6 A 102 43 255 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.clin %>% right_join(df.lab, by = c(\"site.id\", \"pt.id\"))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Keep all rows in df.clin or df.lab"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site.id pt.id age values \n",
"\n",
"\tA 100 38 325 \n",
"\tA 101 35 651 \n",
"\tA 102 43 255 \n",
"\tB 100 50 623 \n",
"\tB 102 62 NA \n",
"\tB 105 50 307 \n",
"\tB 103 NA 872 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" site.id & pt.id & age & values\\\\\n",
"\\hline\n",
"\t A & 100 & 38 & 325\\\\\n",
"\t A & 101 & 35 & 651\\\\\n",
"\t A & 102 & 43 & 255\\\\\n",
"\t B & 100 & 50 & 623\\\\\n",
"\t B & 102 & 62 & NA\\\\\n",
"\t B & 105 & 50 & 307\\\\\n",
"\t B & 103 & NA & 872\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site.id | pt.id | age | values | \n",
"|---|---|---|---|---|---|---|\n",
"| A | 100 | 38 | 325 | \n",
"| A | 101 | 35 | 651 | \n",
"| A | 102 | 43 | 255 | \n",
"| B | 100 | 50 | 623 | \n",
"| B | 102 | 62 | NA | \n",
"| B | 105 | 50 | 307 | \n",
"| B | 103 | NA | 872 | \n",
"\n",
"\n"
],
"text/plain": [
" site.id pt.id age values\n",
"1 A 100 38 325 \n",
"2 A 101 35 651 \n",
"3 A 102 43 255 \n",
"4 B 100 50 623 \n",
"5 B 102 62 NA \n",
"6 B 105 50 307 \n",
"7 B 103 NA 872 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.clin %>% full_join(df.lab, by = c(\"site.id\", \"pt.id\"))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### When identifier columns have different names"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site pid values \n",
"\n",
"\tB 103 625 \n",
"\tB 100 517 \n",
"\tB 105 736 \n",
"\tA 100 739 \n",
"\tA 101 165 \n",
"\tA 102 944 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" site & pid & values\\\\\n",
"\\hline\n",
"\t B & 103 & 625\\\\\n",
"\t B & 100 & 517\\\\\n",
"\t B & 105 & 736\\\\\n",
"\t A & 100 & 739\\\\\n",
"\t A & 101 & 165\\\\\n",
"\t A & 102 & 944\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site | pid | values | \n",
"|---|---|---|---|---|---|\n",
"| B | 103 | 625 | \n",
"| B | 100 | 517 | \n",
"| B | 105 | 736 | \n",
"| A | 100 | 739 | \n",
"| A | 101 | 165 | \n",
"| A | 102 | 944 | \n",
"\n",
"\n"
],
"text/plain": [
" site pid values\n",
"1 B 103 625 \n",
"2 B 100 517 \n",
"3 B 105 736 \n",
"4 A 100 739 \n",
"5 A 101 165 \n",
"6 A 102 944 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.lab.1 <- data.frame(site=c('B', 'B', 'B', 'A', 'A', 'A'),\n",
" pid=c(103, 100, 105, 100, 101, 102),\n",
" values=sample(100:1000, 6))\n",
"df.lab.1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Keep only elements in common"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site.id pt.id age values \n",
"\n",
"\tA 100 38 739 \n",
"\tA 101 35 165 \n",
"\tA 102 43 944 \n",
"\tB 100 50 517 \n",
"\tB 105 50 736 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" site.id & pt.id & age & values\\\\\n",
"\\hline\n",
"\t A & 100 & 38 & 739\\\\\n",
"\t A & 101 & 35 & 165\\\\\n",
"\t A & 102 & 43 & 944\\\\\n",
"\t B & 100 & 50 & 517\\\\\n",
"\t B & 105 & 50 & 736\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site.id | pt.id | age | values | \n",
"|---|---|---|---|---|\n",
"| A | 100 | 38 | 739 | \n",
"| A | 101 | 35 | 165 | \n",
"| A | 102 | 43 | 944 | \n",
"| B | 100 | 50 | 517 | \n",
"| B | 105 | 50 | 736 | \n",
"\n",
"\n"
],
"text/plain": [
" site.id pt.id age values\n",
"1 A 100 38 739 \n",
"2 A 101 35 165 \n",
"3 A 102 43 944 \n",
"4 B 100 50 517 \n",
"5 B 105 50 736 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.clin %>% inner_join(df.lab.1, by = c(\"site.id\"=\"site\", \"pt.id\"=\"pid\"))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### When identifiers are in the row.names (advanced)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"values \n",
"\n",
"\tB-103 963 \n",
"\tB-100 556 \n",
"\tB-105 620 \n",
"\tA-100 335 \n",
"\tA-101 886 \n",
"\tA-102 115 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|l}\n",
" & values\\\\\n",
"\\hline\n",
"\tB-103 & 963\\\\\n",
"\tB-100 & 556\\\\\n",
"\tB-105 & 620\\\\\n",
"\tA-100 & 335\\\\\n",
"\tA-101 & 886\\\\\n",
"\tA-102 & 115\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"| | values | \n",
"|---|---|---|---|---|---|\n",
"| B-103 | 963 | \n",
"| B-100 | 556 | \n",
"| B-105 | 620 | \n",
"| A-100 | 335 | \n",
"| A-101 | 886 | \n",
"| A-102 | 115 | \n",
"\n",
"\n"
],
"text/plain": [
" values\n",
"B-103 963 \n",
"B-100 556 \n",
"B-105 620 \n",
"A-100 335 \n",
"A-101 886 \n",
"A-102 115 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.lab.2 <- data.frame(values=sample(100:1000, 6))\n",
"rownames(df.lab.2) <- paste(c('B', 'B', 'B', 'A', 'A', 'A'),\n",
" c(103, 100, 105, 100, 101, 102), sep=\"-\")\n",
"df.lab.2"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site.id pt.id values \n",
"\n",
"\tB 103 963 \n",
"\tB 100 556 \n",
"\tB 105 620 \n",
"\tA 100 335 \n",
"\tA 101 886 \n",
"\tA 102 115 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|lll}\n",
" site.id & pt.id & values\\\\\n",
"\\hline\n",
"\t B & 103 & 963\\\\\n",
"\t B & 100 & 556\\\\\n",
"\t B & 105 & 620\\\\\n",
"\t A & 100 & 335\\\\\n",
"\t A & 101 & 886\\\\\n",
"\t A & 102 & 115\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site.id | pt.id | values | \n",
"|---|---|---|---|---|---|\n",
"| B | 103 | 963 | \n",
"| B | 100 | 556 | \n",
"| B | 105 | 620 | \n",
"| A | 100 | 335 | \n",
"| A | 101 | 886 | \n",
"| A | 102 | 115 | \n",
"\n",
"\n"
],
"text/plain": [
" site.id pt.id values\n",
"1 B 103 963 \n",
"2 B 100 556 \n",
"3 B 105 620 \n",
"4 A 100 335 \n",
"5 A 101 886 \n",
"6 A 102 115 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.lab.2 %>% \n",
" rownames_to_column %>%\n",
" separate(rowname, into=c(\"site.id\", \"pt.id\"), sep=\"-\")"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"site.id pt.id age values \n",
"\n",
"\tA 100 38 335 \n",
"\tA 101 35 886 \n",
"\tA 102 43 115 \n",
"\tB 100 50 556 \n",
"\tB 105 50 620 \n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{tabular}{r|llll}\n",
" site.id & pt.id & age & values\\\\\n",
"\\hline\n",
"\t A & 100 & 38 & 335\\\\\n",
"\t A & 101 & 35 & 886\\\\\n",
"\t A & 102 & 43 & 115\\\\\n",
"\t B & 100 & 50 & 556\\\\\n",
"\t B & 105 & 50 & 620\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"site.id | pt.id | age | values | \n",
"|---|---|---|---|---|\n",
"| A | 100 | 38 | 335 | \n",
"| A | 101 | 35 | 886 | \n",
"| A | 102 | 43 | 115 | \n",
"| B | 100 | 50 | 556 | \n",
"| B | 105 | 50 | 620 | \n",
"\n",
"\n"
],
"text/plain": [
" site.id pt.id age values\n",
"1 A 100 38 335 \n",
"2 A 101 35 886 \n",
"3 A 102 43 115 \n",
"4 B 100 50 556 \n",
"5 B 105 50 620 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.clin %>% inner_join(\n",
" # create new data.frame with matching identifier columns\n",
" df.lab.2 %>% \n",
" rownames_to_column %>% \n",
" separate(rowname, into=c(\"site.id\", \"pt.id\"), sep=\"-\") %>%\n",
" mutate(site.id=as.factor(site.id), pt.id=as.numeric(pt.id)),\n",
" # specify columns to join on\n",
" by=c(\"site.id\", \"pt.id\") \n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "3.4.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}